home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_12_09 / saks / genq5b.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-07-12  |  474 b   |  33 lines

  1. Listing 9 - the genq class definition from Listing 7 rewritten using 
  2. forward-declared nested classes
  3.  
  4. class genq
  5.     {
  6. public:
  7.     genq();
  8.     void append(void *e);
  9.     int remove(void *&e);
  10.     class iterator;
  11.     friend class iterator;
  12. private:
  13.     struct cell;
  14.     cell *first, *last;
  15.     };
  16.  
  17. struct genq::cell
  18.     {
  19.     cell(void *e, cell *p);
  20.     cell *next;
  21.     void *element;
  22.     };
  23.  
  24. class genq::iterator
  25.     {
  26. public:
  27.     iterator(genq &q);
  28.     void *next();
  29. private:
  30.     cell *pc;
  31.     };
  32.  
  33.